package servicios

import aerolinea.Business
import aerolinea.Primera
import aerolinea.Turista
import java.util.Date
import junit.framework.TestCase
import org.hibernate.SessionFactory

class AbstractHibernateTest extends TestCase {
	
	var SessionFactory sessionFactory
	
	new() {
		super()
	}

	new(String name) {
		super(name)
	}
	
	def cargarTablas(){
		
		var primera = new CategoriaManager().crearCategoria(new Primera(700))
		var business= new CategoriaManager().crearCategoria(new Business(480))
		var turista= new CategoriaManager().crearCategoria(new Turista(100))
		
		var asientos1= newArrayList
		var asientos2= newArrayList
		
		
		var tramos1= newArrayList
		var tramos2= newArrayList
		var tramos3= newArrayList
		var tramos4= newArrayList
		var tramos5= newArrayList
		var tramos6= newArrayList
		var tramos7= newArrayList
		var tramos8= newArrayList
		
		var vuelos1= newArrayList
		var vuelos2= newArrayList
		
		vuelos1.add(new VueloManager().crearVuelo(1, tramos1))
		vuelos1.add(new VueloManager().crearVuelo(2, tramos2))
		vuelos1.add(new VueloManager().crearVuelo(3, tramos3))
		vuelos1.add(new VueloManager().crearVuelo(4, tramos4))
		vuelos2.add(new VueloManager().crearVuelo(5, tramos5))
		vuelos2.add(new VueloManager().crearVuelo(6, tramos6))
		vuelos2.add(new VueloManager().crearVuelo(7, tramos7))
		vuelos2.add(new VueloManager().crearVuelo(8, tramos8))
		
		var asientos3= newArrayList
		var asientos4= newArrayList
		var asientos5= newArrayList
		var asientos6= newArrayList
		var asientos7= newArrayList
		var asientos8= newArrayList
		
		var fecha1Salida= new Date(2015, 07, 11, 20, 40, 00)
		var fecha1Llegada= new Date(2015, 07, 11, 22, 40, 00)
		tramos1.add(new TramoManager().crearTramo("Argentina", "Brasil", fecha1Llegada, fecha1Salida, 500, asientos1))
		tramos1.add(new TramoManager().crearTramo("Brrasil", "Japon", fecha1Llegada, fecha1Salida, 500, null))
		var fecha2Salida= new Date(2015, 8, 11, 12, 15, 00)
		var fecha2Llegada= new Date(2015, 8, 11, 13, 45, 00)
		tramos2.add(new TramoManager().crearTramo("Brasil", "Uruguay", fecha2Llegada, fecha2Salida, 650, asientos2))
		var fecha3Salida= new Date(2015, 11, 12, 14, 40, 00)
		var fecha3Llegada= new Date(2015, 11, 12, 16, 40, 00)
		tramos3.add(new TramoManager().crearTramo("Uruguay", "Argentina", fecha3Llegada, fecha3Salida, 200, asientos3))
		var fecha4Salida= new Date(2015, 10, 11, 9, 00, 00)
		var fecha4Llegada= new Date(2015, 10, 11, 11, 30, 00)
		tramos4.add(new TramoManager().crearTramo("Brasil", "Argentina", fecha4Llegada, fecha4Salida, 210, asientos4))
		var fecha5Salida= new Date(2015, 11, 8, 20, 40, 00)
		var fecha5Llegada= new Date(2015, 11, 8, 23, 40, 00)
		tramos5.add(new TramoManager().crearTramo("Venezuela", "Cuba", fecha5Llegada, fecha5Salida, 100, asientos5))
		var fecha6Salida= new Date(2015, 11, 10, 13, 00, 00)
		var fecha6Llegada= new Date(2015, 11, 10, 16, 40, 00)
		tramos6.add(new TramoManager().crearTramo("Argentina", "Venezuela", fecha6Llegada, fecha6Salida, 1400, asientos6))
		var fecha7Salida= new Date(2015, 11, 12, 20, 40, 00)
		var fecha7Llegada= new Date(2015, 11, 12, 00, 40, 00)
		tramos7.add(new TramoManager().crearTramo("Cuba", "Argentina", fecha7Llegada, fecha7Salida, 2000, asientos7))
		var fecha8Salida= new Date(2015, 11, 11, 20, 40, 00)
		var fecha8Llegada= new Date(2015, 11, 11, 22, 40, 00)
		tramos8.add(new TramoManager().crearTramo("Cuba", "Venezuela", fecha8Llegada, fecha8Salida, 1520, asientos8))
		
		
		
        asientos1.add(new AsientoManager().crearAsiento(1, primera))
		asientos1.add(new AsientoManager().crearAsiento(2, business))
		asientos2.add(new AsientoManager().crearAsiento(3, turista))
		asientos3.add(new AsientoManager().crearAsiento(4, primera))
		asientos4.add(new AsientoManager().crearAsiento(5, primera))
		asientos5.add(new AsientoManager().crearAsiento(6, business))
		asientos6.add(new AsientoManager().crearAsiento(7, business))
		asientos7.add(new AsientoManager().crearAsiento(8, turista))
		asientos8.add(new AsientoManager().crearAsiento(9, turista))
		
		new AerolineaManager().crearAerolinea("AA", vuelos1)
		new AerolineaManager().crearAerolinea("LAPA", vuelos2)
		
	}
}